home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / comm / cnet / cnettoolkit2a.lha / FPButton < prev    next >
Text File  |  1994-12-16  |  6KB  |  111 lines

  1. /**************************************************************************\
  2.                 $VER: FPButton 1.01 (27.03.94) by PMK
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR
  5. tog.0='No ';tog.1='Yes'
  6. cyc.0='Arexx  ';cyc.1='CNet C ';cyc.2='DOS    ';cyc.3='Paragon';cyc.4='Text   '
  7. xc.1= 4;yc.1= 1;ml.1=0;mr.1=0;mu.1=11;md.1=2;but.1='c7z4<<Exit         z0c7 ';bty.1=0
  8. xc.2= 6;yc.2= 1;ml.2=0;mr.2=0;mu.2=1;md.2=3;but.2='c7z4Item type   :z0c7 ';bty.2=3;ans.2=0  ;mc.2=5 ;cnm.2='cyc'
  9. xc.3= 7;yc.3= 1;ml.3=0;mr.3=0;mu.3=2;md.3=4;but.3='c7z4DOS filename:z0c7 ';bty.3=2;ans.3='PFiles:'  ;le.3='4 35'
  10. xc.4= 8;yc.4= 1;ml.4=0;mr.4=0;mu.4=3;md.4=5;but.4='c7z4Arguments   :z0c7 ';bty.4=2;ans.4='' ;le.4='4 20'
  11. xc.5= 9;yc.5= 1;ml.5=0;mr.5=0;mu.5=4;md.5=6;but.5='c7z4Activate key:z0c7 ';bty.5=2;ans.5='' ;le.5='4 1'
  12. xc.6=11;yc.6= 1;ml.6=0;mr.6=0;mu.6=5;md.6=7;but.6='c7z4One user at a time  :z0c7 ';bty.6=1;ans.6=0
  13. xc.7=12;yc.7= 1;ml.7=9;mr.7=9;mu.7=6;md.7=8;but.7='c7z4Disable MCI         :z0c7 ';bty.7=1;ans.7=0
  14. xc.8=13;yc.8= 1;ml.8=10;mr.8=10;mu.8=7;md.8=11;but.8='c7z4Disable More?       :z0c7 ';bty.8=1;ans.8=0
  15. xc.9=12;yc.9=40;ml.9=7;mr.9=7;mu.9=11;md.9=10;but.9='c7z4Disable word-wrap   :z0c7 ';bty.9=1;ans.9=0
  16. xc.10=13;yc.10=40;ml.10=8;mr.10=8;mu.10=9;md.10=11;but.10='c7z4Disable sysop MCI   :z0c7 ';bty.10=1;ans.10=0
  17. xc.11=2;yc.11=1;ml.11=0;mr.11=0;mu.11=8;md.11=1;but.11='c7z4<<Delete entry z0c7 ';bty.11=0
  18.  
  19. xc.51=3;yc.51= 2;ml.51=0;mr.51=52;mu.51=0;md.51=0;but.51='c7z4Save changes z0c7 '   ;bty.51=0
  20. xc.52=3;yc.52=16;ml.52=51;mr.52=0;mu.52=0;md.52=0;but.52='c7z4Exit without saving z0c7 '    ;bty.52=0
  21.  
  22. xc.71=3;yc.71= 2;ml.71=0;mr.71=72;mu.71=0;md.71=0;but.71='c7z4Delete entry z0c7 '   ;bty.71=0
  23. xc.72=3;yc.72=16;ml.72=71;mr.72=0;mu.72=0;md.72=0;but.72='c7z4Return to editor z0c7 '       ;bty.72=0
  24.  
  25. nb=11   /* Number of buttons */
  26. bn=1    /* Number of 1st button */
  27. bu=2    /* Button to place cursor on as default */
  28. call DISBUT
  29.  
  30. do until exi=1 /* Main Loop */
  31.   key=CHECK(GETCURSOR());oldbu=bu;select
  32.     when key=8&mu.bu>0 then call MOVE(mu.bu)        /* Up     */
  33.     when key=2&md.bu>0 then call MOVE(md.bu)        /* Down   */
  34.     when key=4&ml.bu>0 then call MOVE(ml.bu)        /* Left   */
  35.     when key=6&mr.bu>0 then call MOVE(mr.bu)        /* Right  */
  36.     when key='!' then exit                          /* Panic Exit */
  37.     when key='0d'x then select                                                      /* Return */
  38.       when bty.bu=0 then interpret('Call BUTTON'bu) /* Action Button */
  39.       when bty.bu=1 then do                         /* Toggle Button */
  40.         ans.bu=ans.bu=0;transmit at(xc.bu,yc.bu+length(but.bu)-12)'c3'value('tog.'ans.bu);end
  41.       when bty.bu=2 then do                         /* String Button */
  42.         /* The 12 is the number of MCI codes in the Button string -1 */
  43.         transmit at(xc.bu,yc.bu+length(but.bu)-12)'c3L1305640 #'ans.bu'}I'le.bu'}'
  44.         getuser 70;ans.bu=result;end
  45.       when bty.bu=3 then do                         /* Cycle Button */
  46.         ans.bu=(ans.bu+1)*((ans.bu+1)<mc.bu);transmit at(xc.bu,yc.bu+length(but.bu)-12)'c3'value(cnm.bu'.'ans.bu);end
  47.         otherwise do;Transmit 'f1n1No button-type defined for button #'bu' - Exiting!';exit;end
  48.     end
  49.       otherwise nop
  50.   end
  51. end
  52. exit
  53.  
  54. /* Code for Action buttons! */
  55. BUTTON1:
  56.   nb=2    /* Number of buttons */
  57.   bn=51   /* Number of 1st button */
  58.   bu=51   /* Button to place cursor on as default */
  59.  call DISBUT;return
  60.  
  61. BUTTON11:
  62.   nb=2    /* Number of buttons */
  63.   bn=71   /* Number of 1st button */
  64.   bu=72   /* Button to place cursor on as default */
  65.  call DISBUT;return
  66.  
  67. BUTTON51:;Transmit 'f1Saving!!!';exi=1;return
  68. BUTTON52:;Transmit 'f1Exiting!!!';exi=1;return
  69.  
  70. BUTTON71:;Transmit 'f1Deleting button!!!';exi=1;return
  71.  
  72. BUTTON72:
  73.   nb=11   /* Number of buttons */
  74.   bn=1    /* Number of 1st button */
  75.   bu=2    /* Button to place cursor on as default */
  76.  call DISBUT;return
  77.  
  78. /* Setup/Display Buttons */
  79. DISBUT:;transmit 'f1>45}c4z7Flux Point VisualDataEditor     z0n1>45}z7Use cursor keys; ENTER to selectz0c7'
  80.   oldbu=bu;do a=bn to nb+bn-1;sendstring at(xc.a,yc.a)but.a'c3'
  81.   select;when bty.a=1 then transmit value('tog.'ans.a);when bty.a=2 then transmit ans.a
  82.   when bty.a=3 then transmit value(cnm.a'.'ans.a);otherwise nop;end;end
  83.   /* The line below places "cursor" on the default button */
  84.   transmit at(xc.bu,yc.bu)'r1'but.bu'r0';return
  85.  
  86. MOVE:;bu=arg(1);transmit at(xc.oldbu,yc.oldbu)but.oldbu||at(xc.bu,yc.bu)'r1'but.bu'r0';return
  87.  
  88. /* The following four routines are right from the CNet Amiga ToolKit! */
  89.  
  90. AT:;return ''arg(1)';'arg(2)'H'
  91.  
  92. GETCURSOR:
  93.   do until key~='NOCHAR';maygetchar;key=result;end
  94.   if key~='1B'x then return key;maygetchar;key=result
  95.   if key="[" then do;maygetchar;key=result;end
  96.   if key='A' then return '8';if key='B' then return '2'
  97.   if key='C' then return '6';if key='D' then return '4'
  98.  return key
  99.  
  100. CHECK:;if ARG()&ARG(1)~='###PANIC' then return ARG(1)
  101.   getcarrier;if result='TRUE' then if ARG() then return ARG(1);else return
  102.   logentry 'Lost Carrier in FPBAM!!';bufferflush;exit
  103.  
  104. SYNTAX:;ERROR:;IOERR:;er=rc' ('errortext(rc)') in line 'sigl
  105.   getuser 1311992;a=result;getuser 1311960;b='"'a||result'"';er='Error Code 'er' of 'b
  106.   transmit er;if length(er)>46 then do;er1=left(er,46);er=substr(er,47);logentry er1;end
  107.   logentry er;bufferflush;exit
  108.  
  109. /** Last Edited: 16-Dec-94 ************************************************\
  110. \************************************ FLUX POINT AMIGA BBS +45 3526 2527 **/
  111.